<#include "/@inc/funcMacros.ftl">
<#include "/@inc/copyright.txt">
<#assign className = TriaGram + "I" + Prefix + LateType>
<#assign baseName = TriaGram + Prefix + LateType>
<@pp.renameOutputFile name=className + ".h">
</@pp.renameOutputFile>
#ifndef __${className}_H
#define __${className}_H

#include "CATBaseUnknown.h"

class CATISpecObject_var ;
class CATListOfInt ;
class CATListDouble ;
class CATListOfCATUnicodeString ;
class CATListValCATISpecObject_var ;

extern ExportedBy${baseName} IID IID_${className} ;

/**
* ${className}.
* @Role ${className}
*
*/
//=======================================
class ExportedBy${baseName} ${className} : public CATBaseUnknown
{

public:

  <#list Attributes as attrib>
  <#if attrib.type?starts_with("tklist") >
    <@ADD_LIST_FUNC_DECL attr=attrib />
  <#else>
    <@ADD_FUNC_DECL attr=attrib />
  </#if>
  </#list>
} ;

CATDeclareHandler( ${className}, CATBaseUnknown) ;
#endif